package cn.ctodb.mall.goods.service.dto;


import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
import java.util.Objects;
import javax.persistence.Lob;
import cn.ctodb.mall.goods.domain.enumeration.IsCheck;
import cn.ctodb.mall.goods.domain.enumeration.IsCheck;
import cn.ctodb.mall.goods.domain.enumeration.IsCheck;
import cn.ctodb.mall.goods.domain.enumeration.IsCheck;

/**
 * A DTO for the Attribute entity.
 */
public class AttributeDTO implements Serializable {

    private Long id;

    private String attrName;

    private String attrInputType;

    private IsCheck attrType;

    @Lob
    private String attrValues;

    private IsCheck attrIndex;

    private Integer sortOrder;

    private IsCheck isLinked;

    private IsCheck attrGroup;

    private Long categoryId;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public String getAttrName() {
        return attrName;
    }

    public void setAttrName(String attrName) {
        this.attrName = attrName;
    }
    public String getAttrInputType() {
        return attrInputType;
    }

    public void setAttrInputType(String attrInputType) {
        this.attrInputType = attrInputType;
    }
    public IsCheck getAttrType() {
        return attrType;
    }

    public void setAttrType(IsCheck attrType) {
        this.attrType = attrType;
    }
    public String getAttrValues() {
        return attrValues;
    }

    public void setAttrValues(String attrValues) {
        this.attrValues = attrValues;
    }
    public IsCheck getAttrIndex() {
        return attrIndex;
    }

    public void setAttrIndex(IsCheck attrIndex) {
        this.attrIndex = attrIndex;
    }
    public Integer getSortOrder() {
        return sortOrder;
    }

    public void setSortOrder(Integer sortOrder) {
        this.sortOrder = sortOrder;
    }
    public IsCheck getIsLinked() {
        return isLinked;
    }

    public void setIsLinked(IsCheck isLinked) {
        this.isLinked = isLinked;
    }
    public IsCheck getAttrGroup() {
        return attrGroup;
    }

    public void setAttrGroup(IsCheck attrGroup) {
        this.attrGroup = attrGroup;
    }

    public Long getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Long categoryId) {
        this.categoryId = categoryId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        AttributeDTO attributeDTO = (AttributeDTO) o;

        if ( ! Objects.equals(id, attributeDTO.id)) { return false; }

        return true;
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(id);
    }

    @Override
    public String toString() {
        return "AttributeDTO{" +
            "id=" + id +
            ", attrName='" + attrName + "'" +
            ", attrInputType='" + attrInputType + "'" +
            ", attrType='" + attrType + "'" +
            ", attrValues='" + attrValues + "'" +
            ", attrIndex='" + attrIndex + "'" +
            ", sortOrder='" + sortOrder + "'" +
            ", isLinked='" + isLinked + "'" +
            ", attrGroup='" + attrGroup + "'" +
            '}';
    }
}
